// import com.alibaba.druid.sql.ast.SQLExpr;
// import com.alibaba.druid.sql.ast.SQLName;
// import com.alibaba.druid.sql.ast.statement.SQLAlterStatement;
// import com.alibaba.druid.sql.dialect.mysql.visitor.MySqlASTVisitor;

#include "MySqlAlterTablespaceStatement.h"
#include "../../../../ast/SQLExpr.h"
#include "../../../../ast/SQLName.h"
#include "../../visitor/MySqlASTVisitor.h"

void MySqlAlterTablespaceStatement::accept0(MySqlASTVisitor_ptr visitor)
{
  if (visitor->visit(SharedObject(MySqlAlterTablespaceStatement)))
  {
    acceptChild(visitor, name);
    acceptChild(visitor, addDataFile);
    acceptChild(visitor, initialSize);
    acceptChild(visitor, engine);
  }
  visitor->endVisit(SharedObject(MySqlAlterTablespaceStatement));
}

SQLName_ptr MySqlAlterTablespaceStatement::getName()
{
  return name;
}

void MySqlAlterTablespaceStatement::setName(SQLName_ptr name)
{
  if (name != nullptr)
  {
    name->setParent(SharedObject(MySqlAlterTablespaceStatement));
  }
  this->name = name;
}

SQLExpr_ptr MySqlAlterTablespaceStatement::getAddDataFile()
{
  return addDataFile;
}

void MySqlAlterTablespaceStatement::setAddDataFile(SQLExpr_ptr x)
{
  if (x != nullptr)
  {
    x->setParent(SharedObject(MySqlAlterTablespaceStatement));
  }
  this->addDataFile = addDataFile;
}

SQLExpr_ptr MySqlAlterTablespaceStatement::getDropDataFile()
{
  return dropDataFile;
}

void MySqlAlterTablespaceStatement::setDropDataFile(SQLExpr_ptr x)
{
  if (x != nullptr)
  {
    x->setParent(SharedObject(MySqlAlterTablespaceStatement));
  }
  this->dropDataFile = dropDataFile;
}

SQLExpr_ptr MySqlAlterTablespaceStatement::getInitialSize()
{
  return initialSize;
}

void MySqlAlterTablespaceStatement::setInitialSize(SQLExpr_ptr x)
{
  if (x != nullptr)
  {
    x->setParent(SharedObject(MySqlAlterTablespaceStatement));
  }
  this->initialSize = x;
}

BOOL_ptr MySqlAlterTablespaceStatement::isWait()
{
  return wait;
}

void MySqlAlterTablespaceStatement::setWait(BOOL_ptr wait)
{
  this->wait = wait;
}

SQLExpr_ptr MySqlAlterTablespaceStatement::getEngine()
{
  return engine;
}

void MySqlAlterTablespaceStatement::setEngine(SQLExpr_ptr engine)
{
  if (engine != nullptr)
  {
    engine->setParent(SharedObject(MySqlAlterTablespaceStatement));
  }
  this->engine = engine;
}
